const {
	DataRls,
	Email
} = require("../config/class.js");
const {
	onlineUsers,
	isUserOnline,
	getUser,
	getAllUsers
} = require("../db/onlineUsers.js");
const {
	addEmailToList
} = require("../db/emailsdb.js");

module.exports = (io, socket) => {
	// 用户请求将消息转发至对应用户
	// 有一个用户发送的私聊相关的数据,我们将数据转发给其他指定的用户
	socket.on("PC", async (sendBody) => {
		//当用户在线时，直接向用户发送消息
		// 检查用户在线状态
		try {
			if (isUserOnline(sendBody.receiveID)) {
				getUser(sendBody.receiveID).sokcet.emit(sendBody.sendType, sendBody);
			} else {
				// 当用户不在线时，往用户邮箱中保存信息
				// 提示用户，离线消息已发送
				let rls = await addEmailToList(sendBody.receiveID, new Email(sendBody))
				// 邮件添加成功
				console.log(rls);
			}
		} catch (error) {
			// TS如果发送失败的处理
			// 一般会将发送数据失败的情况s，返回给发送用户
			console.log(error);
		}
	});
}